#ifndef EEPROM_H
#define EEPROM_H
#define SEQUENCE_END	     0xFFFF
struct AR0XXX_reginfo
{
    u16 reg;
    u16 val;
};
// 带有自动曝光的配置
struct AR0XXX_reginfo AR0234[] = 
{
	{ 0x0000, 0x0000 }, // DELAY= 20
	{ 0x0000, 0x0000 }, // DELAY= 600
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x302A, 0x0005 }, // VT_PIX_CLK_DIV
	{ 0x302C, 0x0001 }, // VT_SYS_CLK_DIV
	{ 0x302E, 0x0003 }, // PRE_PLL_CLK_DIV
	{ 0x3030, 0x0032 }, // PLL_MULTIPLIER
	{ 0x3036, 0x000A }, // OP_PIX_CLK_DIV
	{ 0x3038, 0x0001 }, // OP_SYS_CLK_DIV
	{ 0x30B0, 0x0028 }, // DIGITAL_TEST
	{ 0x31B0, 0x0082 }, // FRAME_PREAMBLE
	{ 0x31B2, 0x005C }, // LINE_PREAMBLE
	{ 0x31B4, 0x51C8 }, // MIPI_TIMING_0
	{ 0x31B6, 0x3257 }, // MIPI_TIMING_1
	{ 0x31B8, 0x904B }, // MIPI_TIMING_2
	{ 0x31BA, 0x030B }, // MIPI_TIMING_3
	{ 0x31BC, 0x8E09 }, // MIPI_TIMING_4
	{ 0x3354, 0x002B }, // MIPI_CNTRL
	{ 0x31AE, 0x0204 }, // SERIAL_FORMAT
	// 1920*1204
	{ 0x3002, 0x0008 }, // Y_ADDR_START
	{ 0x3004, 0x0008 }, // X_ADDR_START
	// 640*400
	// { 0x3002, 0x032C }, // Y_ADDR_START
	// { 0x3004, 0x050C }, // X_ADDR_START
	// 1920*1080
	// { 0x3002, 0x0084 }, // Y_ADDR_START
	// { 0x3004, 0x0008 }, // X_ADDR_START
	// 640*1080
	// { 0x3002, 0x0084 }, // Y_ADDR_START
	// { 0x3004, 0x050C }, // X_ADDR_START
	// 1080*1080
	// { 0x3002, 0x0084 }, // Y_ADDR_START
	// { 0x3004, 0x0354 }, // X_ADDR_START
	// 1500*1080
	// { 0x3002, 0x0084 }, // Y_ADDR_START
	// { 0x3004, 0x01AC }, // X_ADDR_START
	// 1500*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x01AC }, // X_ADDR_START
	// 1280*1080
	// { 0x3002, 0x0084 }, // Y_ADDR_START
	// { 0x3004, 0x0288 }, // X_ADDR_START
	// 1282*1080
	// { 0x3002, 0x0084 }, // Y_ADDR_START
	// { 0x3004, 0x0286 }, // X_ADDR_START
	// 1282*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x0286 }, // X_ADDR_START
	// 1400*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x0210 }, // X_ADDR_START
	// 1450*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x01DE }, // X_ADDR_START
	// 1300*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x0274 }, // X_ADDR_START
	// 1350*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x0242 }, // X_ADDR_START
	// 1375*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x0229 }, // X_ADDR_START
	// 1385*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x021F }, // X_ADDR_START
	// 1399*1204
	// { 0x3002, 0x0008 }, // Y_ADDR_START
	// { 0x3004, 0x0211 }, // X_ADDR_START
	{ 0x3006, 0x04B7 }, // Y_ADDR_END
	{ 0x3008, 0x0787 }, // X_ADDR_END
	{ 0x300A, 0x04C4 }, // FRAME_LENGTH_LINES
	{ 0x300C, 0x0264 }, // LINE_LENGTH_PCK
	{ 0x3012, 0x12DC }, // COARSE_INTEGRATION_TIME
	{ 0x31AC, 0x0A0A }, // DATA_FORMAT_BITS
	{ 0x306E, 0x9010 }, // DATAPATH_SELECT
	{ 0x30A2, 0x0001 }, // X_ODD_INC
	{ 0x30A6, 0x0001 }, // Y_ODD_INC
	{ 0x3082, 0x0003 }, // OPERATION_MODE_CTRL
	// 上下，左右颠倒0xC000可以用于激光桶在海面上拍摄
	{ 0x3040, 0xC000 }, // READ_MODE

	{ 0x31D0, 0x0000 }, // COMPANDING
	{ 0x31AE, 0x0202 }, // SERIAL_FORMAT
	{ 0x3088, 0x8050 }, // SEQ_CTRL_PORT
	{ 0x3086, 0x9237 }, // SEQ_DATA_PORT
	{ 0x3096, 0x0280 }, // RESERVED_MFR_3096
	{ 0x31E0, 0x0003 }, // PIX_DEF_ID
	{ 0x30B0, 0x0028 }, // DIGITAL_TEST
	{ 0x3F4C, 0x121F }, // RESERVED_MFR_3F4C
	{ 0x3F4E, 0x121F }, // RESERVED_MFR_3F4E
	{ 0x3F50, 0x0B81 }, // RESERVED_MFR_3F50
	{ 0x3088, 0x81BA }, // SEQ_CTRL_PORT
	{ 0x3086, 0x3D02 }, // SEQ_DATA_PORT
	{ 0x3ED2, 0xFA86 }, // RESERVED_MFR_3ED2
	{ 0x3180, 0x824F }, // DELTA_DK_CONTROL
	{ 0x3ECC, 0x0C42 }, // RESERVED_MFR_3ECC
	{ 0x3ECC, 0x0C42 }, // RESERVED_MFR_3ECC
	{ 0x30F0, 0x2283 }, // RESERVED_MFR_30F0
	{ 0x3102, 0x5000 }, // AE_LUMA_TARGET_REG
	{ 0x3060, 0x000D }, // ANALOG_GAIN
	{ 0x30BA, 0x7626 }, // RESERVED_MFR_30BA
	{ 0x0000, 0x0000 }, // DELAY= 200
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x3064, 0x1882 }, // SMIA_TEST
	{ 0x3064, 0x1982 }, // SMIA_TEST
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x3100, 0x0001 }, // AECTRLREG
	{ 0x3100, 0x0003 }, // AECTRLREG
	{ 0x3100, 0x0003 }, // AECTRLREG
	{ 0x3102, 0x5000 }, // AE_LUMA_TARGET_REG
	{ 0x3060, 0x005D }, // ANALOG_GAIN
	{ 0x3ED0, 0xFF44 }, // RESERVED_MFR_3ED0
	{ 0x3ED2, 0x5586 }, // RESERVED_MFR_3ED2
	{ 0x3ED4, 0x031F }, // RESERVED_MFR_3ED4
	{ 0x3EEE, 0xA4AA }, // RESERVED_MFR_3EEE
	{ 0x3096, 0x0080 }, // RESERVED_MFR_3096
	{ 0x311C, 0x0AA0 }, // AE_MAX_EXPOSURE_REG
	{ 0x311E, 0x000F }, // AE_MIN_EXPOSURE_REG
	// { 0x3002, 0x0084 }, // Y_ADDR_START
	// 白平衡的参数
	{ 0x3058, 0x00B9 }, // BLUE_GAIN
	{ 0x305A, 0x009C }, // RED_GAIN

	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x301A, 0x2158 }, // RESET_REGISTER
	{ 0x301A, 0x2958 }, // RESET_REGISTER
	{ 0x30CE, 0x0000 }, // GRR_CONTROL1
	{SEQUENCE_END, 0x0000}
};

struct AR0XXX_reginfo AR0234_NO_AE[] = 
{
	{ 0x0000, 0x0000 }, // DELAY= 20
	{ 0x0000, 0x0000 }, // DELAY= 600
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x302A, 0x0005 }, // VT_PIX_CLK_DIV
	{ 0x302C, 0x0001 }, // VT_SYS_CLK_DIV
	{ 0x302E, 0x0003 }, // PRE_PLL_CLK_DIV
	{ 0x3030, 0x0032 }, // PLL_MULTIPLIER
	{ 0x3036, 0x000A }, // OP_PIX_CLK_DIV
	{ 0x3038, 0x0001 }, // OP_SYS_CLK_DIV
	{ 0x30B0, 0x0028 }, // DIGITAL_TEST
	{ 0x31B0, 0x0082 }, // FRAME_PREAMBLE
	{ 0x31B2, 0x005C }, // LINE_PREAMBLE
	{ 0x31B4, 0x51C8 }, // MIPI_TIMING_0
	{ 0x31B6, 0x3257 }, // MIPI_TIMING_1
	{ 0x31B8, 0x904B }, // MIPI_TIMING_2
	{ 0x31BA, 0x030B }, // MIPI_TIMING_3
	{ 0x31BC, 0x8E09 }, // MIPI_TIMING_4
	{ 0x3354, 0x002B }, // MIPI_CNTRL
	{ 0x31AE, 0x0204 }, // SERIAL_FORMAT
	// 1920*1200
	{ 0x3002, 0x0008 }, // Y_ADDR_START
	{ 0x3004, 0x0008 }, // X_ADDR_START
	{ 0x3006, 0x04B7 }, // Y_ADDR_END
	{ 0x3008, 0x0787 }, // X_ADDR_END
	{ 0x300A, 0x04C4 }, // FRAME_LENGTH_LINES
	{ 0x300C, 0x0264 }, // LINE_LENGTH_PCK
	{ 0x3012, 0x02DC }, // COARSE_INTEGRATION_TIME
	{ 0x31AC, 0x0A0A }, // DATA_FORMAT_BITS
	{ 0x306E, 0x9010 }, // DATAPATH_SELECT
	{ 0x30A2, 0x0001 }, // X_ODD_INC
	{ 0x30A6, 0x0001 }, // Y_ODD_INC
	{ 0x3082, 0x0003 }, // OPERATION_MODE_CTRL
	// 上下，左右颠倒
	{ 0x3040, 0xC000 }, // READ_MODE

	{ 0x31D0, 0x0000 }, // COMPANDING
	{ 0x31AE, 0x0202 }, // SERIAL_FORMAT
	{ 0x3088, 0x8050 }, // SEQ_CTRL_PORT
	{ 0x3086, 0x9237 }, // SEQ_DATA_PORT
	{ 0x3096, 0x0280 }, // RESERVED_MFR_3096
	{ 0x31E0, 0x0003 }, // PIX_DEF_ID
	{ 0x30B0, 0x0028 }, // DIGITAL_TEST
	{ 0x3F4C, 0x121F }, // RESERVED_MFR_3F4C
	{ 0x3F4E, 0x121F }, // RESERVED_MFR_3F4E
	{ 0x3F50, 0x0B81 }, // RESERVED_MFR_3F50
	{ 0x3088, 0x81BA }, // SEQ_CTRL_PORT
	{ 0x3086, 0x3D02 }, // SEQ_DATA_PORT
	{ 0x3ED2, 0xFA86 }, // RESERVED_MFR_3ED2
	{ 0x3180, 0x824F }, // DELTA_DK_CONTROL
	{ 0x3ECC, 0x0C42 }, // RESERVED_MFR_3ECC
	{ 0x3ECC, 0x0C42 }, // RESERVED_MFR_3ECC
	{ 0x30F0, 0x2283 }, // RESERVED_MFR_30F0
	{ 0x3102, 0x5000 }, // AE_LUMA_TARGET_REG
	{ 0x3060, 0x000D }, // ANALOG_GAIN
	{ 0x30BA, 0x7626 }, // RESERVED_MFR_30BA
	{ 0x301A, 0x205C }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 200
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x301A, 0x205C }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x3064, 0x1802 }, // SMIA_TEST
	{ 0x3064, 0x1802 }, // SMIA_TEST
	{ 0x301A, 0x205C }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x3100, 0x0000 }, // AECTRLREG
	{ 0x3096, 0x0280 }, // RESERVED_MFR_3096
	{ 0x3ED2, 0xAA86 }, // RESERVED_MFR_3ED2
	{ 0x3EEE, 0xA4AA }, // RESERVED_MFR_3EEE
	// 室外曝光时间
	{ 0x3012, 0x002C }, // COARSE_INTEGRATION_TIME 调这个会影响帧率
	// 亮度
	{ 0x3060, 0x000D }, // ANALOG_GAIN 调这个不会影响帧率,因为这个原因出现横纹
	// 配置是否需要flash输出
	{ 0x3070, 0x0000 }, // FLASH mode
	// 白平衡参数
	// { 0x3058, 0x00B9 }, // BLUE_GAIN
	// { 0x305A, 0x009C }, // RED_GAIN
	// 室外白平衡参数
	{ 0x3056, 0x0080 }, // green1_GAIN
	{ 0x3058, 0x00B8 }, // BLUE_GAIN
	{ 0x305A, 0x00B9 }, // RED_GAIN
	{ 0x305C, 0x0080 }, // green2_GAIN
	// 触发模式
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x301A, 0x2158 }, // RESET_REGISTER
	{ 0x301A, 0x2958 }, // RESET_REGISTER
	{ 0x30CE, 0x0000 }, // GRR_CONTROL1
	{SEQUENCE_END, 0x0000}
};

struct AR0XXX_reginfo AR0234_AE[] = 
{
	{ 0x0000, 0x0000 }, // DELAY= 20
	{ 0x0000, 0x0000 }, // DELAY= 600
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x302A, 0x0005 }, // VT_PIX_CLK_DIV
	{ 0x302C, 0x0001 }, // VT_SYS_CLK_DIV
	{ 0x302E, 0x0003 }, // PRE_PLL_CLK_DIV
	{ 0x3030, 0x0032 }, // PLL_MULTIPLIER
	{ 0x3036, 0x000A }, // OP_PIX_CLK_DIV
	{ 0x3038, 0x0001 }, // OP_SYS_CLK_DIV
	{ 0x30B0, 0x0028 }, // DIGITAL_TEST
	{ 0x31B0, 0x0082 }, // FRAME_PREAMBLE
	{ 0x31B2, 0x005C }, // LINE_PREAMBLE
	{ 0x31B4, 0x51C8 }, // MIPI_TIMING_0
	{ 0x31B6, 0x3257 }, // MIPI_TIMING_1
	{ 0x31B8, 0x904B }, // MIPI_TIMING_2
	{ 0x31BA, 0x030B }, // MIPI_TIMING_3
	{ 0x31BC, 0x8E09 }, // MIPI_TIMING_4
	{ 0x3354, 0x002B }, // MIPI_CNTRL
	{ 0x31AE, 0x0204 }, // SERIAL_FORMAT
	{ 0x3002, 0x0008 }, // Y_ADDR_START
	{ 0x3004, 0x0008 }, // X_ADDR_START
	{ 0x3006, 0x04B7 }, // Y_ADDR_END
	{ 0x3008, 0x0787 }, // X_ADDR_END
	{ 0x300A, 0x04C4 }, // FRAME_LENGTH_LINES
	{ 0x300C, 0x0264 }, // LINE_LENGTH_PCK
	{ 0x3012, 0x02DC }, // COARSE_INTEGRATION_TIME
	{ 0x31AC, 0x0A0A }, // DATA_FORMAT_BITS
	{ 0x306E, 0x9010 }, // DATAPATH_SELECT
	{ 0x30A2, 0x0001 }, // X_ODD_INC
	{ 0x30A6, 0x0001 }, // Y_ODD_INC
	{ 0x3082, 0x0003 }, // OPERATION_MODE_CTRL
	// 上下，左右颠倒
	{ 0x3040, 0xC000 }, // READ_MODE
	
	{ 0x31D0, 0x0000 }, // COMPANDING
	{ 0x31AE, 0x0202 }, // SERIAL_FORMAT
	{ 0x3088, 0x8050 }, // SEQ_CTRL_PORT
	{ 0x3086, 0x9237 }, // SEQ_DATA_PORT
	{ 0x3096, 0x0280 }, // RESERVED_MFR_3096
	{ 0x31E0, 0x0003 }, // PIX_DEF_ID
	{ 0x30B0, 0x0028 }, // DIGITAL_TEST
	{ 0x3F4C, 0x121F }, // RESERVED_MFR_3F4C
	{ 0x3F4E, 0x121F }, // RESERVED_MFR_3F4E
	{ 0x3F50, 0x0B81 }, // RESERVED_MFR_3F50
	{ 0x3088, 0x81BA }, // SEQ_CTRL_PORT
	{ 0x3086, 0x3D02 }, // SEQ_DATA_PORT
	{ 0x3ED2, 0xFA96 }, // RESERVED_MFR_3ED2
	{ 0x3180, 0x824F }, // DELTA_DK_CONTROL
	{ 0x3ECC, 0x0C42 }, // RESERVED_MFR_3ECC
	{ 0x3ECC, 0x0C42 }, // RESERVED_MFR_3ECC
	{ 0x30F0, 0x2283 }, // RESERVED_MFR_30F0
	{ 0x3102, 0x5000 }, // AE_LUMA_TARGET_REG
	{ 0x3060, 0x000D }, // ANALOG_GAIN
	{ 0x30BA, 0x7626 }, // RESERVED_MFR_30BA
	{ 0x301A, 0x205C }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 200
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x301A, 0x205C }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x3064, 0x1882 }, // SMIA_TEST
	{ 0x3064, 0x1982 }, // SMIA_TEST
	{ 0x301A, 0x205C }, // RESET_REGISTER
	{ 0x0000, 0x0000 }, // DELAY= 50
	{ 0x3100, 0x0001 }, // AECTRLREG
	{ 0x3100, 0x0003 }, // AECTRLREG
	{ 0x3100, 0x0003 }, // AECTRLREG
	{ 0x3102, 0x5000 }, // AE_LUMA_TARGET_REG
	{ 0x3060, 0x000D }, // ANALOG_GAIN
	{ 0x3070, 0x0000 }, // FLASH mode
	// 白平衡参数
	{ 0x3056, 0x0100 }, // green1_GAIN
	{ 0x3058, 0x01CE }, // BLUE_GAIN
	{ 0x305A, 0x016B }, // RED_GAIN
	{ 0x305C, 0x0100 }, // green2_GAIN
	// 这一组白平衡参数会使得相片比较暗
	// { 0x3056, 0x0060 }, // green1_GAIN
	// { 0x3058, 0x008C }, // BLUE_GAIN
	// { 0x305A, 0x0088 }, // RED_GAIN
	// { 0x305C, 0x0060 }, // green2_GAIN

	{ 0x311C, 0x02A0 }, // AE_MAX_EXPOSURE
	{ 0x311E, 0x0001 }, // AE_MIN_EXPOSURE

	{ 0x3ED0, 0xFF44 }, // RESERVED_MFR_3ED0
	{ 0x3ED2, 0x5596 }, // RESERVED_MFR_3ED2
	{ 0x3ED4, 0x031F }, // RESERVED_MFR_3ED4
	{ 0x3EEE, 0xA4AA }, // RESERVED_MFR_3EEE
	{ 0x3096, 0x0080 }, // RESERVED_MFR_3096
	{ 0x301A, 0x2058 }, // RESET_REGISTER
	{ 0x301A, 0x2158 }, // RESET_REGISTER
	{ 0x301A, 0x2958 }, // RESET_REGISTER
	{ 0x30CE, 0x0000 }, // GRR_CONTROL1
	{SEQUENCE_END, 0x0000}
};

#endif